Semiconductor memory devices have become more popular for use in various electronic devices. For example, non-volatile semiconductor memory is used in cellular telephones, digital cameras, personal digital assistants, mobile computing devices, non-mobile computing devices and other devices.
In non-volatile semiconductor memory, data is stored in memory cells. Bit lines and word lines are used to connect to the memory cells. In some systems, the voltage used to program data into the memory cells (referred to as the program voltage) is applied to a selected word line and each word line is connected to many memory cells. Therefore, all memory cells connected to a word line may concurrently receive the program voltage. It is often the case, however, that then when performing programming not all memory cells connected to a word line will require programming. That means that the program voltage will be applied to memory cells to be programmed as well as memory cells that are not supposed to be programmed. These memory cells that are not supposed to be programmed should be inhibited from programming. However, because memory cells that should be inhibited from programming still receive the program voltage, it is possible these memory cells that should be inhibited from programming still experience some programming. This phenomenon is referred to as program disturb and, if severe enough, can lead to errors in the data being stored by the memory system.